﻿// Decompiled with JetBrains decompiler
// Type: MCM.Abstractions.Attributes.v1.SettingPropertyAttribute
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

using System;

#nullable enable
namespace MCM.Abstractions.Attributes.v1
{
  [AttributeUsage(AttributeTargets.Property)]
  public sealed class SettingPropertyAttribute : 
    BaseSettingPropertyAttribute,
    IPropertyDefinitionWithMinMax
  {
    public Decimal MinValue { get; }

    public Decimal MaxValue { get; }

    public SettingPropertyAttribute(string displayName)
      : base(displayName)
    {
    }

    public SettingPropertyAttribute(string displayName, float minValue, float maxValue)
      : base(displayName)
    {
      this.MinValue = (Decimal) minValue;
      this.MaxValue = (Decimal) maxValue;
    }

    public SettingPropertyAttribute(string displayName, int minValue, int maxValue)
      : base(displayName)
    {
      this.MinValue = (Decimal) minValue;
      this.MaxValue = (Decimal) maxValue;
    }

    public SettingPropertyAttribute(string displayName, Decimal minValue, Decimal maxValue)
      : base(displayName)
    {
      this.MinValue = minValue;
      this.MaxValue = maxValue;
    }
  }
}
